#include <iostream>
#include<vector>
#include<opencv2/opencv.hpp>
#ifndef PNP_SLOVE_H
#define PNP_SLOVE_H

class PNP_Slove {

public:
	PNP_Slove(const std::array<double, 9>& camera_matrix,
		const std::vector<double>& distortion_coefficients,
		const std::vector<cv::Point3f>& object_points);
	

	bool solvePnp(std::vector<cv::Point2f> image_points, cv::Mat& rvec, cv::Mat& tvec);

private:
	

	std::vector<cv::Point3f> object_points_;
	cv::Mat camera_matrix_;
	cv::Mat distortion_coefficients_;
	cv::SolvePnPMethod method_;
	std::vector<cv::Mat> rvecs_;
	std::vector<cv::Mat> tvecs_;


};
#endif